iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
AI & Data

踏上AI的步伐系列 第 20

Day20 深度學習與主要神經網路(三)

  • 分享至 

  • xImage
  •  

卷積神經網路

卷積神經網路的定義

卷積神經網路(Convolutional Neural Network,CNN)指一種利用卷積(Convolution)與池化(Pooling)技術來分別有效的「提取影像特徵」及「壓縮降低特徵維度」的一種深度學習神經網路。主要組成分為輸入層(Input Layer)、卷積層(Convolution)、池化層(Pooling Layer)、全連接層(Fully Connected Layer)及輸出層(Output Layer)五種網路架構。

CNN與FC之比較

傳統全連接(Fully Connected, FC)的深度學習

  • 運算效率問題:FC的架構是每一層的節點都要連結到下一層的每個節點。這不僅需要很大的運算力,訓練起來也很耗時。
  • 圖像特徵問題(Feature Extraction):傳統FC指用一維的像素當作輸入,來處理像速與下一個節點的關係,而CNN是利用二維的卷積層,來掃描圖像內的各種特徵,快速又有效。
  • 影像處理的三大特徵:
    (1)局域性(Locality)問題:要辨識任何圖像內的物件,例如:草地上的梅花鹿,物件內的各種特徵其實都集中在某一區塊,例如:梅花鹿的頭、身體、角。因此若要辨識鹿的嘴巴只需掃描一小塊區域的像素群就行。而其他的草、山等等,不需去處理也沒關係。但傳統的FC則會去處理,造成沒有效率。
    (2)平移性(Translatability)問題:圖像辨識是要了解這個圖像內有無存在著哪些特定特徵,並不管特徵的位置在圖像的哪個方位。但在FC的架構下,每個角度、位置運算出的特徵值都不同,這會造成不同角度辨識出來的物件完全不一樣的困境。
    (3)縮放性(Scaling)問題:指物件大小的問題,大尺寸是鹿,小尺寸也是鹿,物件等比例的放大並不影響其內容,但在FC架構下,大鳥與小鳥計算出來的特徵值完全不同,將會造成物件辨識很大麻煩

CNN架構特色與運算

濾鏡的利用與訓練

  • 濾鏡的運用:CNN利用二維的各種濾鏡去掃描圖像內的物件,去偵測其是否存在某些特定的特徵,如圖,不同的濾鏡具備不同的特徵,偵測直線、斜線等等,當濾鏡掃描到某一個區塊時會比對這一區塊所包含特徵與自己是否吻合。吻合程度越高,則物件是此類別的機率越高,反之則越低。
    https://ithelp.ithome.com.tw/upload/images/20231005/20163100dOHWPZMVR2.jpg

  • 濾鏡的訓練:在CNN上,濾鏡則是由機器在掃描過數十萬張人臉的相片後,其自行會經由不斷的試誤,歸納出能辨人臉的各種層次不同之濾鏡。例:底層是較簡單的偵測線條、邊緣、輪廓等濾鏡。到中層濾鏡進化到各種不同的形狀,到了高層的濾鏡則進化到更複雜的人臉五官。剛開始訓練時CNN會錯誤百出,在經由深度學習特有的反向傳播機制和梯度下降法,不斷糾正錯誤,調整內部的函數,直到CNN能自己設計出辨識人臉的各種濾鏡。

  • 濾鏡的運作、卷積的演算:卷積到運算就是兩個矩陣的內積合(Dot Product),其最主要之功用為當濾鏡掃描到原始圖像的某個區域時,如發現到與濾鏡有相同特徵的區塊時,則其卷積輸出的數值會很大,如果沒有對應到相同特徵,則卷積運算的特徵值會很小,正因為這種特質,所以CNN就會以各種不同的卷積濾鏡或稱之為卷積核(Convolution Kernel)來作為網路核心架構。而利用卷積核來擷取特徵的這一層神經網路稱之為卷積層(Convolution Layer)。

特徵圖
原始圖像透過不同的卷積核,在全圖一步步掃描過後,兩個矩陣的運算結果,會映射到新的一個多維空間,ㄍ這個空間會表示圖內有哪些地方有圖形的特徵存在,這個新的空間就稱為特徵圖(Feature Map)。

池化層
指CNN透過降維將卷積後的特徵圖進行壓縮,用更抽象的特徵來代表原來的特徵,並以此來簡化後續運算的複雜度的一種演算法。池化方法可以用一下幾種方法來找代表性的特徵值:

  • 最大化(Max Pooling):指擷取原矩陣中最大值來取代原來矩陣。
  • 平均值(Average Pooling):例如將原來有16個特徵值切割成四塊後每一塊取原來數據的平均值,形成一個22的矩陣
  • 全連接層(Fully Connected Layer):經過池化和卷積處理後,最後為了要進行分類,還是要將最終的特徵圖攤平成為傳統一維的全連結網路,稱之為全連結層。

CNN處理圖像優點

  • 處理平移性問題:CNN透過濾鏡掃描捕抓圖像內物件的特徵,只要存在CNN都可以記住保留這些特徵。
  • 處理區域性問題:CNN處理單位只限於一個區域並不管非區域外的像素。
  • 處理縮放性問題:CNN池化層會以降維方式來簡化運算的負擔。
  • 權重共享性:CNN利用濾鏡去掃描整個圖像的位置,即整個圖像都以這個固定的ㄎ權重數量來做演算。

參考資料
人工資料-概念應用與管理 林東清 著


上一篇
Day 19 深度學習與主要神經網路(二)
下一篇
Day 21 深度學習與主要神經網路(四)-RNN
系列文
踏上AI的步伐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言